package com.ourteam.product.ui.dao;

import java.util.Arrays;
import java.util.List;
import java.util.Map;
import net.dao.BaseQueryBean;
import net.dao.BaseWhereCriterion;
import net.dao.IDataAccessInterface;
import org.apache.commons.lang.StringUtils;

/**
 * Template Name : DAO查询对象 Template Version : 1 Template Last Modfiy Date : Sat Aug 19 10:06:32 CST
 * 2017 Auto Generate Date : 2018-12-14 15:15:14 Warning ! This file will be overwrite when
 * regenerate !
 */
public class ProductUITabItemDAOQueryBean extends BaseQueryBean {

  public ProductUITabItemDAOQueryBean() {
    super();
  }

  public ProductUITabItemDAOQueryBean(BaseQueryBean aQueryBean) {
    super(aQueryBean);
  }

  public ProductUITabItemDAOQueryBean(BaseQueryBean aQueryBean, Map tableReplaceMap) {
    super(aQueryBean, tableReplaceMap);
  }

  public Criteria createCriteria() {

    Criteria criteria = createCriteriaInternal();
    if (oredCriteria.size() == 0) {
      oredCriteria.add(criteria);
    }
    return criteria;
  }

  protected Criteria createCriteriaInternal() {
    return new Criteria(this);
  }

  public void addIdSelectProperty() {
    addIdSelectProperty("id");
  }

  public void addIdSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IProductUITabItemDAO.Id, aAlias);
    } else {
      addSelectProperty(IProductUITabItemDAO.Id, "id");
    }
  }

  public void addTabIdSelectProperty() {
    addTabIdSelectProperty("tabId");
  }

  public void addTabIdSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IProductUITabItemDAO.TabId, aAlias);
    } else {
      addSelectProperty(IProductUITabItemDAO.TabId, "tabId");
    }
  }

  public void addFormIdSelectProperty() {
    addFormIdSelectProperty("formId");
  }

  public void addFormIdSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IProductUITabItemDAO.FormId, aAlias);
    } else {
      addSelectProperty(IProductUITabItemDAO.FormId, "formId");
    }
  }

  public void addCodeSelectProperty() {
    addCodeSelectProperty("code");
  }

  public void addCodeSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IProductUITabItemDAO.Code, aAlias);
    } else {
      addSelectProperty(IProductUITabItemDAO.Code, "code");
    }
  }

  public void addTitleSelectProperty() {
    addTitleSelectProperty("title");
  }

  public void addTitleSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IProductUITabItemDAO.Title, aAlias);
    } else {
      addSelectProperty(IProductUITabItemDAO.Title, "title");
    }
  }

  public void addTitleKeySelectProperty() {
    addTitleKeySelectProperty("titleKey");
  }

  public void addTitleKeySelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IProductUITabItemDAO.TitleKey, aAlias);
    } else {
      addSelectProperty(IProductUITabItemDAO.TitleKey, "titleKey");
    }
  }

  public void addIconSelectProperty() {
    addIconSelectProperty("icon");
  }

  public void addIconSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IProductUITabItemDAO.Icon, aAlias);
    } else {
      addSelectProperty(IProductUITabItemDAO.Icon, "icon");
    }
  }

  public void addCompentClassSelectProperty() {
    addCompentClassSelectProperty("compentClass");
  }

  public void addCompentClassSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IProductUITabItemDAO.CompentClass, aAlias);
    } else {
      addSelectProperty(IProductUITabItemDAO.CompentClass, "compentClass");
    }
  }

  public void addSortIndexSelectProperty() {
    addSortIndexSelectProperty("sortIndex");
  }

  public void addSortIndexSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IProductUITabItemDAO.SortIndex, aAlias);
    } else {
      addSelectProperty(IProductUITabItemDAO.SortIndex, "sortIndex");
    }
  }

  public void addLastModifyUserSelectProperty() {
    addLastModifyUserSelectProperty("lastModifyUser");
  }

  public void addLastModifyUserSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IProductUITabItemDAO.LastModifyUser, aAlias);
    } else {
      addSelectProperty(IProductUITabItemDAO.LastModifyUser, "lastModifyUser");
    }
  }

  public void addLastModifyTimeSelectProperty() {
    addLastModifyTimeSelectProperty("lastModifyTime");
  }

  public void addLastModifyTimeSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IProductUITabItemDAO.LastModifyTime, aAlias);
    } else {
      addSelectProperty(IProductUITabItemDAO.LastModifyTime, "lastModifyTime");
    }
  }

  public void addStatusSelectProperty() {
    addStatusSelectProperty("status");
  }

  public void addStatusSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IProductUITabItemDAO.Status, aAlias);
    } else {
      addSelectProperty(IProductUITabItemDAO.Status, "status");
    }
  }

  public void addRemarksSelectProperty() {
    addRemarksSelectProperty("remarks");
  }

  public void addRemarksSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IProductUITabItemDAO.Remarks, aAlias);
    } else {
      addSelectProperty(IProductUITabItemDAO.Remarks, "remarks");
    }
  }

  public void addFormCodeSelectProperty() {
    addFormCodeSelectProperty("formCode");
  }

  public void addFormCodeSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IProductUITabItemDAO.FormCode, aAlias);
    } else {
      addSelectProperty(IProductUITabItemDAO.FormCode, "formCode");
    }
  }

  public void addAllSelectProperties() {

    addIdSelectProperty();

    addTabIdSelectProperty();

    addFormIdSelectProperty();

    addCodeSelectProperty();

    addTitleSelectProperty();

    addTitleKeySelectProperty();

    addIconSelectProperty();

    addCompentClassSelectProperty();

    addSortIndexSelectProperty();

    addLastModifyUserSelectProperty();

    addLastModifyTimeSelectProperty();

    addStatusSelectProperty();

    addRemarksSelectProperty();

    addFormCodeSelectProperty();
  }

  public static class Criteria extends BaseWhereCriterion<ProductUITabItemDAOQueryBean> {

    protected Criteria(ProductUITabItemDAOQueryBean aParentObject) {
      super(aParentObject);
    }

    public Criteria andIdIsNull() {
      addCriterion(IProductUITabItemDAO.Id + " is null");
      return this;
    }

    public Criteria andIdIsNotNull() {
      addCriterion(IProductUITabItemDAO.Id + " is not null");
      return this;
    }

    public Criteria andIdIsNotEmpty() {
      addCriterion(
          IProductUITabItemDAO.Id + " is not null AND " + IProductUITabItemDAO.Id + " <> ''");
      return this;
    }

    public Criteria andIdIsEmpty() {
      addCriterion(
          "(" + IProductUITabItemDAO.Id + " is null OR " + IProductUITabItemDAO.Id + " = '')");
      return this;
    }

    public Criteria andIdEqualTo(long value) {
      return andIdEqualTo(Long.valueOf(value));
    }

    public Criteria andIdEqualTo(java.lang.Long value) {

      addCriterion(IProductUITabItemDAO.Id + " = ", value, "id");
      return this;
    }

    public Criteria andIdEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.Id);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andIdEqualTo(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Id + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdNotEqualTo(long value) {
      return andIdNotEqualTo(Long.valueOf(value));
    }

    public Criteria andIdNotEqualTo(java.lang.Long value) {

      addCriterion(IProductUITabItemDAO.Id + " <>", value, "id");
      return this;
    }

    public Criteria andIdNotEqualToOrIsNull(long value) {
      return andIdNotEqualToOrIsNull(Long.valueOf(value));
    }

    public Criteria andIdNotEqualToOrIsNull(java.lang.Long value) {

      addCriterion(
          IProductUITabItemDAO.Id + " is null OR " + IProductUITabItemDAO.Id + " <>", value, "id");
      return this;
    }

    public Criteria andIdNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.Id);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andIdNotEqualTo(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Id + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdGreaterThan(long value) {
      return andIdGreaterThan(Long.valueOf(value));
    }

    public Criteria andIdGreaterThan(java.lang.Long value) {

      addCriterion(IProductUITabItemDAO.Id + " >", value, "id");
      return this;
    }

    public Criteria andIdGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.Id);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andIdGreaterThan(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Id + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdGreaterThanOrEqualTo(long value) {
      return andIdGreaterThanOrEqualTo(Long.valueOf(value));
    }

    public Criteria andIdGreaterThanOrEqualTo(java.lang.Long value) {

      addCriterion(IProductUITabItemDAO.Id + " >=", value, "id");
      return this;
    }

    public Criteria andIdGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.Id);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andIdGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Id + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdLessThan(long value) {
      return andIdLessThan(Long.valueOf(value));
    }

    public Criteria andIdLessThan(java.lang.Long value) {

      addCriterion(IProductUITabItemDAO.Id + " <", value, "id");
      return this;
    }

    public Criteria andIdLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.Id);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andIdLessThan(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Id + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdLessThanOrEqualTo(long value) {
      return andIdLessThanOrEqualTo(Long.valueOf(value));
    }

    public Criteria andIdLessThanOrEqualTo(java.lang.Long value) {

      addCriterion(IProductUITabItemDAO.Id + " <=", value, "id");
      return this;
    }

    public Criteria andIdLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.Id);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andIdLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Id + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdIn(long[] values) {
      if (values.length == 1) {
        return andIdEqualTo((java.lang.Long) values[0]);
      } else {
        addCriterion(IProductUITabItemDAO.Id + " in", values, "id");
        return this;
      }
    }

    public Criteria andIdNotIn(long[] values) {
      if (values.length == 1) {
        return andIdNotEqualTo((java.lang.Long) values[0]);
      } else {
        addCriterion(IProductUITabItemDAO.Id + " not in", values, "id");
        return this;
      }
    }

    public Criteria andIdIn(List<java.lang.Long> values) {

      if (values.size() == 1) {
        return andIdEqualTo(values.get(0));
      } else {
        addCriterion(IProductUITabItemDAO.Id + " in", values, "id");
        return this;
      }
    }

    public Criteria andIdNotIn(List<java.lang.Long> values) {
      if (values.size() == 1) {
        return andIdNotEqualTo(values.get(0));
      } else {
        addCriterion(IProductUITabItemDAO.Id + " not in", values, "id");
        return this;
      }
    }

    public Criteria andIdIn(java.lang.Long[] values) {

      if (values.length == 1) {
        return andIdEqualTo(values[0]);
      } else {
        addCriterion(IProductUITabItemDAO.Id + " in", Arrays.asList(values), "id");
        return this;
      }
    }

    public Criteria andIdNotIn(java.lang.Long[] values) {
      if (values.length == 1) {
        return andIdNotEqualTo(values[0]);
      } else {
        addCriterion(IProductUITabItemDAO.Id + " not in", Arrays.asList(values), "id");
        return this;
      }
    }

    public Criteria andIdIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Id + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdNotIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Id + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdBetween(long value1, long value2) {
      addCriterion(IProductUITabItemDAO.Id + " between", value1, value2, "id");
      return this;
    }

    public Criteria andIdBetween(java.lang.Long value1, java.lang.Long value2) {
      addCriterion(IProductUITabItemDAO.Id + " between", value1, value2, "id");
      return this;
    }

    public Criteria andIdNotBetween(long value1, long value2) {
      addCriterion(IProductUITabItemDAO.Id + " not between", value1, value2, "id");
      return this;
    }

    public Criteria andIdNotBetween(java.lang.Long value1, java.lang.Long value2) {
      addCriterion(IProductUITabItemDAO.Id + " not between", value1, value2, "id");
      return this;
    }

    public Criteria andTabIdIsNull() {
      addCriterion(IProductUITabItemDAO.TabId + " is null");
      return this;
    }

    public Criteria andTabIdIsNotNull() {
      addCriterion(IProductUITabItemDAO.TabId + " is not null");
      return this;
    }

    public Criteria andTabIdIsNotEmpty() {
      addCriterion(
          IProductUITabItemDAO.TabId + " is not null AND " + IProductUITabItemDAO.TabId + " <> ''");
      return this;
    }

    public Criteria andTabIdIsEmpty() {
      addCriterion(
          "("
              + IProductUITabItemDAO.TabId
              + " is null OR "
              + IProductUITabItemDAO.TabId
              + " = '')");
      return this;
    }

    public Criteria andTabIdEqualTo(long value) {
      return andTabIdEqualTo(Long.valueOf(value));
    }

    public Criteria andTabIdEqualTo(java.lang.Long value) {

      addCriterion(IProductUITabItemDAO.TabId + " = ", value, "tabId");
      return this;
    }

    public Criteria andTabIdEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.TabId);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andTabIdEqualTo(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.TabId + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andTabIdNotEqualTo(long value) {
      return andTabIdNotEqualTo(Long.valueOf(value));
    }

    public Criteria andTabIdNotEqualTo(java.lang.Long value) {

      addCriterion(IProductUITabItemDAO.TabId + " <>", value, "tabId");
      return this;
    }

    public Criteria andTabIdNotEqualToOrIsNull(long value) {
      return andTabIdNotEqualToOrIsNull(Long.valueOf(value));
    }

    public Criteria andTabIdNotEqualToOrIsNull(java.lang.Long value) {

      addCriterion(
          IProductUITabItemDAO.TabId + " is null OR " + IProductUITabItemDAO.TabId + " <>",
          value,
          "tabId");
      return this;
    }

    public Criteria andTabIdNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.TabId);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andTabIdNotEqualTo(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.TabId + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andTabIdGreaterThan(long value) {
      return andTabIdGreaterThan(Long.valueOf(value));
    }

    public Criteria andTabIdGreaterThan(java.lang.Long value) {

      addCriterion(IProductUITabItemDAO.TabId + " >", value, "tabId");
      return this;
    }

    public Criteria andTabIdGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.TabId);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andTabIdGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.TabId + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andTabIdGreaterThanOrEqualTo(long value) {
      return andTabIdGreaterThanOrEqualTo(Long.valueOf(value));
    }

    public Criteria andTabIdGreaterThanOrEqualTo(java.lang.Long value) {

      addCriterion(IProductUITabItemDAO.TabId + " >=", value, "tabId");
      return this;
    }

    public Criteria andTabIdGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.TabId);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andTabIdGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.TabId + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andTabIdLessThan(long value) {
      return andTabIdLessThan(Long.valueOf(value));
    }

    public Criteria andTabIdLessThan(java.lang.Long value) {

      addCriterion(IProductUITabItemDAO.TabId + " <", value, "tabId");
      return this;
    }

    public Criteria andTabIdLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.TabId);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andTabIdLessThan(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.TabId + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andTabIdLessThanOrEqualTo(long value) {
      return andTabIdLessThanOrEqualTo(Long.valueOf(value));
    }

    public Criteria andTabIdLessThanOrEqualTo(java.lang.Long value) {

      addCriterion(IProductUITabItemDAO.TabId + " <=", value, "tabId");
      return this;
    }

    public Criteria andTabIdLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.TabId);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andTabIdLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.TabId + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andTabIdIn(long[] values) {
      if (values.length == 1) {
        return andTabIdEqualTo((java.lang.Long) values[0]);
      } else {
        addCriterion(IProductUITabItemDAO.TabId + " in", values, "tabId");
        return this;
      }
    }

    public Criteria andTabIdNotIn(long[] values) {
      if (values.length == 1) {
        return andTabIdNotEqualTo((java.lang.Long) values[0]);
      } else {
        addCriterion(IProductUITabItemDAO.TabId + " not in", values, "tabId");
        return this;
      }
    }

    public Criteria andTabIdIn(List<java.lang.Long> values) {

      if (values.size() == 1) {
        return andTabIdEqualTo(values.get(0));
      } else {
        addCriterion(IProductUITabItemDAO.TabId + " in", values, "tabId");
        return this;
      }
    }

    public Criteria andTabIdNotIn(List<java.lang.Long> values) {
      if (values.size() == 1) {
        return andTabIdNotEqualTo(values.get(0));
      } else {
        addCriterion(IProductUITabItemDAO.TabId + " not in", values, "tabId");
        return this;
      }
    }

    public Criteria andTabIdIn(java.lang.Long[] values) {

      if (values.length == 1) {
        return andTabIdEqualTo(values[0]);
      } else {
        addCriterion(IProductUITabItemDAO.TabId + " in", Arrays.asList(values), "tabId");
        return this;
      }
    }

    public Criteria andTabIdNotIn(java.lang.Long[] values) {
      if (values.length == 1) {
        return andTabIdNotEqualTo(values[0]);
      } else {
        addCriterion(IProductUITabItemDAO.TabId + " not in", Arrays.asList(values), "tabId");
        return this;
      }
    }

    public Criteria andTabIdIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.TabId + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andTabIdNotIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.TabId + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andTabIdBetween(long value1, long value2) {
      addCriterion(IProductUITabItemDAO.TabId + " between", value1, value2, "tabId");
      return this;
    }

    public Criteria andTabIdBetween(java.lang.Long value1, java.lang.Long value2) {
      addCriterion(IProductUITabItemDAO.TabId + " between", value1, value2, "tabId");
      return this;
    }

    public Criteria andTabIdNotBetween(long value1, long value2) {
      addCriterion(IProductUITabItemDAO.TabId + " not between", value1, value2, "tabId");
      return this;
    }

    public Criteria andTabIdNotBetween(java.lang.Long value1, java.lang.Long value2) {
      addCriterion(IProductUITabItemDAO.TabId + " not between", value1, value2, "tabId");
      return this;
    }

    public Criteria andFormIdIsNull() {
      addCriterion(IProductUITabItemDAO.FormId + " is null");
      return this;
    }

    public Criteria andFormIdIsNotNull() {
      addCriterion(IProductUITabItemDAO.FormId + " is not null");
      return this;
    }

    public Criteria andFormIdIsNotEmpty() {
      addCriterion(
          IProductUITabItemDAO.FormId
              + " is not null AND "
              + IProductUITabItemDAO.FormId
              + " <> ''");
      return this;
    }

    public Criteria andFormIdIsEmpty() {
      addCriterion(
          "("
              + IProductUITabItemDAO.FormId
              + " is null OR "
              + IProductUITabItemDAO.FormId
              + " = '')");
      return this;
    }

    public Criteria andFormIdEqualTo(long value) {
      return andFormIdEqualTo(Long.valueOf(value));
    }

    public Criteria andFormIdEqualTo(java.lang.Long value) {

      addCriterion(IProductUITabItemDAO.FormId + " = ", value, "formId");
      return this;
    }

    public Criteria andFormIdEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.FormId);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andFormIdEqualTo(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.FormId + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andFormIdNotEqualTo(long value) {
      return andFormIdNotEqualTo(Long.valueOf(value));
    }

    public Criteria andFormIdNotEqualTo(java.lang.Long value) {

      addCriterion(IProductUITabItemDAO.FormId + " <>", value, "formId");
      return this;
    }

    public Criteria andFormIdNotEqualToOrIsNull(long value) {
      return andFormIdNotEqualToOrIsNull(Long.valueOf(value));
    }

    public Criteria andFormIdNotEqualToOrIsNull(java.lang.Long value) {

      addCriterion(
          IProductUITabItemDAO.FormId + " is null OR " + IProductUITabItemDAO.FormId + " <>",
          value,
          "formId");
      return this;
    }

    public Criteria andFormIdNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.FormId);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andFormIdNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.FormId + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andFormIdGreaterThan(long value) {
      return andFormIdGreaterThan(Long.valueOf(value));
    }

    public Criteria andFormIdGreaterThan(java.lang.Long value) {

      addCriterion(IProductUITabItemDAO.FormId + " >", value, "formId");
      return this;
    }

    public Criteria andFormIdGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.FormId);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andFormIdGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.FormId + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andFormIdGreaterThanOrEqualTo(long value) {
      return andFormIdGreaterThanOrEqualTo(Long.valueOf(value));
    }

    public Criteria andFormIdGreaterThanOrEqualTo(java.lang.Long value) {

      addCriterion(IProductUITabItemDAO.FormId + " >=", value, "formId");
      return this;
    }

    public Criteria andFormIdGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.FormId);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andFormIdGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.FormId + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andFormIdLessThan(long value) {
      return andFormIdLessThan(Long.valueOf(value));
    }

    public Criteria andFormIdLessThan(java.lang.Long value) {

      addCriterion(IProductUITabItemDAO.FormId + " <", value, "formId");
      return this;
    }

    public Criteria andFormIdLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.FormId);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andFormIdLessThan(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.FormId + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andFormIdLessThanOrEqualTo(long value) {
      return andFormIdLessThanOrEqualTo(Long.valueOf(value));
    }

    public Criteria andFormIdLessThanOrEqualTo(java.lang.Long value) {

      addCriterion(IProductUITabItemDAO.FormId + " <=", value, "formId");
      return this;
    }

    public Criteria andFormIdLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.FormId);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andFormIdLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.FormId + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andFormIdIn(long[] values) {
      if (values.length == 1) {
        return andFormIdEqualTo((java.lang.Long) values[0]);
      } else {
        addCriterion(IProductUITabItemDAO.FormId + " in", values, "formId");
        return this;
      }
    }

    public Criteria andFormIdNotIn(long[] values) {
      if (values.length == 1) {
        return andFormIdNotEqualTo((java.lang.Long) values[0]);
      } else {
        addCriterion(IProductUITabItemDAO.FormId + " not in", values, "formId");
        return this;
      }
    }

    public Criteria andFormIdIn(List<java.lang.Long> values) {

      if (values.size() == 1) {
        return andFormIdEqualTo(values.get(0));
      } else {
        addCriterion(IProductUITabItemDAO.FormId + " in", values, "formId");
        return this;
      }
    }

    public Criteria andFormIdNotIn(List<java.lang.Long> values) {
      if (values.size() == 1) {
        return andFormIdNotEqualTo(values.get(0));
      } else {
        addCriterion(IProductUITabItemDAO.FormId + " not in", values, "formId");
        return this;
      }
    }

    public Criteria andFormIdIn(java.lang.Long[] values) {

      if (values.length == 1) {
        return andFormIdEqualTo(values[0]);
      } else {
        addCriterion(IProductUITabItemDAO.FormId + " in", Arrays.asList(values), "formId");
        return this;
      }
    }

    public Criteria andFormIdNotIn(java.lang.Long[] values) {
      if (values.length == 1) {
        return andFormIdNotEqualTo(values[0]);
      } else {
        addCriterion(IProductUITabItemDAO.FormId + " not in", Arrays.asList(values), "formId");
        return this;
      }
    }

    public Criteria andFormIdIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.FormId + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andFormIdNotIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.FormId + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andFormIdBetween(long value1, long value2) {
      addCriterion(IProductUITabItemDAO.FormId + " between", value1, value2, "formId");
      return this;
    }

    public Criteria andFormIdBetween(java.lang.Long value1, java.lang.Long value2) {
      addCriterion(IProductUITabItemDAO.FormId + " between", value1, value2, "formId");
      return this;
    }

    public Criteria andFormIdNotBetween(long value1, long value2) {
      addCriterion(IProductUITabItemDAO.FormId + " not between", value1, value2, "formId");
      return this;
    }

    public Criteria andFormIdNotBetween(java.lang.Long value1, java.lang.Long value2) {
      addCriterion(IProductUITabItemDAO.FormId + " not between", value1, value2, "formId");
      return this;
    }

    public Criteria andCodeIsNull() {
      addCriterion(IProductUITabItemDAO.Code + " is null");
      return this;
    }

    public Criteria andCodeIsNotNull() {
      addCriterion(IProductUITabItemDAO.Code + " is not null");
      return this;
    }

    public Criteria andCodeIsNotEmpty() {
      addCriterion(
          IProductUITabItemDAO.Code + " is not null AND " + IProductUITabItemDAO.Code + " <> ''");
      return this;
    }

    public Criteria andCodeIsEmpty() {
      addCriterion(
          "(" + IProductUITabItemDAO.Code + " is null OR " + IProductUITabItemDAO.Code + " = '')");
      return this;
    }

    public Criteria andCodeEqualTo(String value) {

      addCriterion(IProductUITabItemDAO.Code + " = ", value, "code");
      return this;
    }

    public Criteria andCodeEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.Code);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andCodeEqualTo(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Code + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andCodeNotEqualTo(String value) {

      addCriterion(IProductUITabItemDAO.Code + " <>", value, "code");
      return this;
    }

    public Criteria andCodeNotEqualToOrIsNull(String value) {

      addCriterion(
          IProductUITabItemDAO.Code + " is null OR " + IProductUITabItemDAO.Code + " <>",
          value,
          "code");
      return this;
    }

    public Criteria andCodeNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.Code);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andCodeNotEqualTo(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Code + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andCodeGreaterThan(String value) {

      addCriterion(IProductUITabItemDAO.Code + " >", value, "code");
      return this;
    }

    public Criteria andCodeGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.Code);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andCodeGreaterThan(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Code + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andCodeGreaterThanOrEqualTo(String value) {

      addCriterion(IProductUITabItemDAO.Code + " >=", value, "code");
      return this;
    }

    public Criteria andCodeGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.Code);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andCodeGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Code + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andCodeLessThan(String value) {

      addCriterion(IProductUITabItemDAO.Code + " <", value, "code");
      return this;
    }

    public Criteria andCodeLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.Code);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andCodeLessThan(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Code + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andCodeLessThanOrEqualTo(String value) {

      addCriterion(IProductUITabItemDAO.Code + " <=", value, "code");
      return this;
    }

    public Criteria andCodeLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.Code);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andCodeLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Code + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andCodeLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(IProductUITabItemDAO.Code + " like", buffer.toString(), "code");
      return this;
    }

    public Criteria andCodeNotLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(IProductUITabItemDAO.Code + " not like", buffer.toString(), "code");
      return this;
    }

    public Criteria andCodeIn(List<String> values) {

      if (values.size() == 1) {
        return andCodeEqualTo(values.get(0));
      } else {
        addCriterion(IProductUITabItemDAO.Code + " in", values, "code");
        return this;
      }
    }

    public Criteria andCodeNotIn(List<String> values) {
      if (values.size() == 1) {
        return andCodeNotEqualTo(values.get(0));
      } else {
        addCriterion(IProductUITabItemDAO.Code + " not in", values, "code");
        return this;
      }
    }

    public Criteria andCodeIn(String[] values) {

      if (values.length == 1) {
        return andCodeEqualTo(values[0]);
      } else {
        addCriterion(IProductUITabItemDAO.Code + " in", Arrays.asList(values), "code");
        return this;
      }
    }

    public Criteria andCodeNotIn(String[] values) {
      if (values.length == 1) {
        return andCodeNotEqualTo(values[0]);
      } else {
        addCriterion(IProductUITabItemDAO.Code + " not in", Arrays.asList(values), "code");
        return this;
      }
    }

    public Criteria andCodeIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Code + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andCodeNotIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Code + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andCodeBetween(String value1, String value2) {
      addCriterion(IProductUITabItemDAO.Code + " between", value1, value2, "code");
      return this;
    }

    public Criteria andCodeNotBetween(String value1, String value2) {
      addCriterion(IProductUITabItemDAO.Code + " not between", value1, value2, "code");
      return this;
    }

    public Criteria andTitleIsNull() {
      addCriterion(IProductUITabItemDAO.Title + " is null");
      return this;
    }

    public Criteria andTitleIsNotNull() {
      addCriterion(IProductUITabItemDAO.Title + " is not null");
      return this;
    }

    public Criteria andTitleIsNotEmpty() {
      addCriterion(
          IProductUITabItemDAO.Title + " is not null AND " + IProductUITabItemDAO.Title + " <> ''");
      return this;
    }

    public Criteria andTitleIsEmpty() {
      addCriterion(
          "("
              + IProductUITabItemDAO.Title
              + " is null OR "
              + IProductUITabItemDAO.Title
              + " = '')");
      return this;
    }

    public Criteria andTitleEqualTo(String value) {

      addCriterion(IProductUITabItemDAO.Title + " = ", value, "title");
      return this;
    }

    public Criteria andTitleEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.Title);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andTitleEqualTo(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Title + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andTitleNotEqualTo(String value) {

      addCriterion(IProductUITabItemDAO.Title + " <>", value, "title");
      return this;
    }

    public Criteria andTitleNotEqualToOrIsNull(String value) {

      addCriterion(
          IProductUITabItemDAO.Title + " is null OR " + IProductUITabItemDAO.Title + " <>",
          value,
          "title");
      return this;
    }

    public Criteria andTitleNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.Title);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andTitleNotEqualTo(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Title + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andTitleGreaterThan(String value) {

      addCriterion(IProductUITabItemDAO.Title + " >", value, "title");
      return this;
    }

    public Criteria andTitleGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.Title);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andTitleGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Title + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andTitleGreaterThanOrEqualTo(String value) {

      addCriterion(IProductUITabItemDAO.Title + " >=", value, "title");
      return this;
    }

    public Criteria andTitleGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.Title);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andTitleGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Title + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andTitleLessThan(String value) {

      addCriterion(IProductUITabItemDAO.Title + " <", value, "title");
      return this;
    }

    public Criteria andTitleLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.Title);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andTitleLessThan(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Title + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andTitleLessThanOrEqualTo(String value) {

      addCriterion(IProductUITabItemDAO.Title + " <=", value, "title");
      return this;
    }

    public Criteria andTitleLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.Title);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andTitleLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Title + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andTitleLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(IProductUITabItemDAO.Title + " like", buffer.toString(), "title");
      return this;
    }

    public Criteria andTitleNotLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(IProductUITabItemDAO.Title + " not like", buffer.toString(), "title");
      return this;
    }

    public Criteria andTitleIn(List<String> values) {

      if (values.size() == 1) {
        return andTitleEqualTo(values.get(0));
      } else {
        addCriterion(IProductUITabItemDAO.Title + " in", values, "title");
        return this;
      }
    }

    public Criteria andTitleNotIn(List<String> values) {
      if (values.size() == 1) {
        return andTitleNotEqualTo(values.get(0));
      } else {
        addCriterion(IProductUITabItemDAO.Title + " not in", values, "title");
        return this;
      }
    }

    public Criteria andTitleIn(String[] values) {

      if (values.length == 1) {
        return andTitleEqualTo(values[0]);
      } else {
        addCriterion(IProductUITabItemDAO.Title + " in", Arrays.asList(values), "title");
        return this;
      }
    }

    public Criteria andTitleNotIn(String[] values) {
      if (values.length == 1) {
        return andTitleNotEqualTo(values[0]);
      } else {
        addCriterion(IProductUITabItemDAO.Title + " not in", Arrays.asList(values), "title");
        return this;
      }
    }

    public Criteria andTitleIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Title + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andTitleNotIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Title + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andTitleBetween(String value1, String value2) {
      addCriterion(IProductUITabItemDAO.Title + " between", value1, value2, "title");
      return this;
    }

    public Criteria andTitleNotBetween(String value1, String value2) {
      addCriterion(IProductUITabItemDAO.Title + " not between", value1, value2, "title");
      return this;
    }

    public Criteria andTitleKeyIsNull() {
      addCriterion(IProductUITabItemDAO.TitleKey + " is null");
      return this;
    }

    public Criteria andTitleKeyIsNotNull() {
      addCriterion(IProductUITabItemDAO.TitleKey + " is not null");
      return this;
    }

    public Criteria andTitleKeyIsNotEmpty() {
      addCriterion(
          IProductUITabItemDAO.TitleKey
              + " is not null AND "
              + IProductUITabItemDAO.TitleKey
              + " <> ''");
      return this;
    }

    public Criteria andTitleKeyIsEmpty() {
      addCriterion(
          "("
              + IProductUITabItemDAO.TitleKey
              + " is null OR "
              + IProductUITabItemDAO.TitleKey
              + " = '')");
      return this;
    }

    public Criteria andTitleKeyEqualTo(String value) {

      addCriterion(IProductUITabItemDAO.TitleKey + " = ", value, "titleKey");
      return this;
    }

    public Criteria andTitleKeyEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.TitleKey);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andTitleKeyEqualTo(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.TitleKey + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andTitleKeyNotEqualTo(String value) {

      addCriterion(IProductUITabItemDAO.TitleKey + " <>", value, "titleKey");
      return this;
    }

    public Criteria andTitleKeyNotEqualToOrIsNull(String value) {

      addCriterion(
          IProductUITabItemDAO.TitleKey + " is null OR " + IProductUITabItemDAO.TitleKey + " <>",
          value,
          "titleKey");
      return this;
    }

    public Criteria andTitleKeyNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.TitleKey);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andTitleKeyNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.TitleKey + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andTitleKeyGreaterThan(String value) {

      addCriterion(IProductUITabItemDAO.TitleKey + " >", value, "titleKey");
      return this;
    }

    public Criteria andTitleKeyGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.TitleKey);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andTitleKeyGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.TitleKey + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andTitleKeyGreaterThanOrEqualTo(String value) {

      addCriterion(IProductUITabItemDAO.TitleKey + " >=", value, "titleKey");
      return this;
    }

    public Criteria andTitleKeyGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.TitleKey);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andTitleKeyGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.TitleKey + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andTitleKeyLessThan(String value) {

      addCriterion(IProductUITabItemDAO.TitleKey + " <", value, "titleKey");
      return this;
    }

    public Criteria andTitleKeyLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.TitleKey);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andTitleKeyLessThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.TitleKey + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andTitleKeyLessThanOrEqualTo(String value) {

      addCriterion(IProductUITabItemDAO.TitleKey + " <=", value, "titleKey");
      return this;
    }

    public Criteria andTitleKeyLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.TitleKey);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andTitleKeyLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.TitleKey + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andTitleKeyLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(IProductUITabItemDAO.TitleKey + " like", buffer.toString(), "titleKey");
      return this;
    }

    public Criteria andTitleKeyNotLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(IProductUITabItemDAO.TitleKey + " not like", buffer.toString(), "titleKey");
      return this;
    }

    public Criteria andTitleKeyIn(List<String> values) {

      if (values.size() == 1) {
        return andTitleKeyEqualTo(values.get(0));
      } else {
        addCriterion(IProductUITabItemDAO.TitleKey + " in", values, "titleKey");
        return this;
      }
    }

    public Criteria andTitleKeyNotIn(List<String> values) {
      if (values.size() == 1) {
        return andTitleKeyNotEqualTo(values.get(0));
      } else {
        addCriterion(IProductUITabItemDAO.TitleKey + " not in", values, "titleKey");
        return this;
      }
    }

    public Criteria andTitleKeyIn(String[] values) {

      if (values.length == 1) {
        return andTitleKeyEqualTo(values[0]);
      } else {
        addCriterion(IProductUITabItemDAO.TitleKey + " in", Arrays.asList(values), "titleKey");
        return this;
      }
    }

    public Criteria andTitleKeyNotIn(String[] values) {
      if (values.length == 1) {
        return andTitleKeyNotEqualTo(values[0]);
      } else {
        addCriterion(IProductUITabItemDAO.TitleKey + " not in", Arrays.asList(values), "titleKey");
        return this;
      }
    }

    public Criteria andTitleKeyIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.TitleKey + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andTitleKeyNotIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.TitleKey + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andTitleKeyBetween(String value1, String value2) {
      addCriterion(IProductUITabItemDAO.TitleKey + " between", value1, value2, "titleKey");
      return this;
    }

    public Criteria andTitleKeyNotBetween(String value1, String value2) {
      addCriterion(IProductUITabItemDAO.TitleKey + " not between", value1, value2, "titleKey");
      return this;
    }

    public Criteria andIconIsNull() {
      addCriterion(IProductUITabItemDAO.Icon + " is null");
      return this;
    }

    public Criteria andIconIsNotNull() {
      addCriterion(IProductUITabItemDAO.Icon + " is not null");
      return this;
    }

    public Criteria andIconIsNotEmpty() {
      addCriterion(
          IProductUITabItemDAO.Icon + " is not null AND " + IProductUITabItemDAO.Icon + " <> ''");
      return this;
    }

    public Criteria andIconIsEmpty() {
      addCriterion(
          "(" + IProductUITabItemDAO.Icon + " is null OR " + IProductUITabItemDAO.Icon + " = '')");
      return this;
    }

    public Criteria andIconEqualTo(String value) {

      addCriterion(IProductUITabItemDAO.Icon + " = ", value, "icon");
      return this;
    }

    public Criteria andIconEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.Icon);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andIconEqualTo(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Icon + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andIconNotEqualTo(String value) {

      addCriterion(IProductUITabItemDAO.Icon + " <>", value, "icon");
      return this;
    }

    public Criteria andIconNotEqualToOrIsNull(String value) {

      addCriterion(
          IProductUITabItemDAO.Icon + " is null OR " + IProductUITabItemDAO.Icon + " <>",
          value,
          "icon");
      return this;
    }

    public Criteria andIconNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.Icon);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andIconNotEqualTo(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Icon + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andIconGreaterThan(String value) {

      addCriterion(IProductUITabItemDAO.Icon + " >", value, "icon");
      return this;
    }

    public Criteria andIconGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.Icon);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andIconGreaterThan(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Icon + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andIconGreaterThanOrEqualTo(String value) {

      addCriterion(IProductUITabItemDAO.Icon + " >=", value, "icon");
      return this;
    }

    public Criteria andIconGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.Icon);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andIconGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Icon + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andIconLessThan(String value) {

      addCriterion(IProductUITabItemDAO.Icon + " <", value, "icon");
      return this;
    }

    public Criteria andIconLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.Icon);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andIconLessThan(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Icon + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andIconLessThanOrEqualTo(String value) {

      addCriterion(IProductUITabItemDAO.Icon + " <=", value, "icon");
      return this;
    }

    public Criteria andIconLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.Icon);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andIconLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Icon + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andIconLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(IProductUITabItemDAO.Icon + " like", buffer.toString(), "icon");
      return this;
    }

    public Criteria andIconNotLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(IProductUITabItemDAO.Icon + " not like", buffer.toString(), "icon");
      return this;
    }

    public Criteria andIconIn(List<String> values) {

      if (values.size() == 1) {
        return andIconEqualTo(values.get(0));
      } else {
        addCriterion(IProductUITabItemDAO.Icon + " in", values, "icon");
        return this;
      }
    }

    public Criteria andIconNotIn(List<String> values) {
      if (values.size() == 1) {
        return andIconNotEqualTo(values.get(0));
      } else {
        addCriterion(IProductUITabItemDAO.Icon + " not in", values, "icon");
        return this;
      }
    }

    public Criteria andIconIn(String[] values) {

      if (values.length == 1) {
        return andIconEqualTo(values[0]);
      } else {
        addCriterion(IProductUITabItemDAO.Icon + " in", Arrays.asList(values), "icon");
        return this;
      }
    }

    public Criteria andIconNotIn(String[] values) {
      if (values.length == 1) {
        return andIconNotEqualTo(values[0]);
      } else {
        addCriterion(IProductUITabItemDAO.Icon + " not in", Arrays.asList(values), "icon");
        return this;
      }
    }

    public Criteria andIconIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Icon + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andIconNotIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Icon + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andIconBetween(String value1, String value2) {
      addCriterion(IProductUITabItemDAO.Icon + " between", value1, value2, "icon");
      return this;
    }

    public Criteria andIconNotBetween(String value1, String value2) {
      addCriterion(IProductUITabItemDAO.Icon + " not between", value1, value2, "icon");
      return this;
    }

    public Criteria andCompentClassIsNull() {
      addCriterion(IProductUITabItemDAO.CompentClass + " is null");
      return this;
    }

    public Criteria andCompentClassIsNotNull() {
      addCriterion(IProductUITabItemDAO.CompentClass + " is not null");
      return this;
    }

    public Criteria andCompentClassIsNotEmpty() {
      addCriterion(
          IProductUITabItemDAO.CompentClass
              + " is not null AND "
              + IProductUITabItemDAO.CompentClass
              + " <> ''");
      return this;
    }

    public Criteria andCompentClassIsEmpty() {
      addCriterion(
          "("
              + IProductUITabItemDAO.CompentClass
              + " is null OR "
              + IProductUITabItemDAO.CompentClass
              + " = '')");
      return this;
    }

    public Criteria andCompentClassEqualTo(String value) {

      addCriterion(IProductUITabItemDAO.CompentClass + " = ", value, "compentClass");
      return this;
    }

    public Criteria andCompentClassEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.CompentClass);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andCompentClassEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.CompentClass + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andCompentClassNotEqualTo(String value) {

      addCriterion(IProductUITabItemDAO.CompentClass + " <>", value, "compentClass");
      return this;
    }

    public Criteria andCompentClassNotEqualToOrIsNull(String value) {

      addCriterion(
          IProductUITabItemDAO.CompentClass
              + " is null OR "
              + IProductUITabItemDAO.CompentClass
              + " <>",
          value,
          "compentClass");
      return this;
    }

    public Criteria andCompentClassNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.CompentClass);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andCompentClassNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.CompentClass + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andCompentClassGreaterThan(String value) {

      addCriterion(IProductUITabItemDAO.CompentClass + " >", value, "compentClass");
      return this;
    }

    public Criteria andCompentClassGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.CompentClass);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andCompentClassGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.CompentClass + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andCompentClassGreaterThanOrEqualTo(String value) {

      addCriterion(IProductUITabItemDAO.CompentClass + " >=", value, "compentClass");
      return this;
    }

    public Criteria andCompentClassGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.CompentClass);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andCompentClassGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.CompentClass + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andCompentClassLessThan(String value) {

      addCriterion(IProductUITabItemDAO.CompentClass + " <", value, "compentClass");
      return this;
    }

    public Criteria andCompentClassLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.CompentClass);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andCompentClassLessThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.CompentClass + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andCompentClassLessThanOrEqualTo(String value) {

      addCriterion(IProductUITabItemDAO.CompentClass + " <=", value, "compentClass");
      return this;
    }

    public Criteria andCompentClassLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.CompentClass);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andCompentClassLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.CompentClass + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andCompentClassLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(IProductUITabItemDAO.CompentClass + " like", buffer.toString(), "compentClass");
      return this;
    }

    public Criteria andCompentClassNotLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(
          IProductUITabItemDAO.CompentClass + " not like", buffer.toString(), "compentClass");
      return this;
    }

    public Criteria andCompentClassIn(List<String> values) {

      if (values.size() == 1) {
        return andCompentClassEqualTo(values.get(0));
      } else {
        addCriterion(IProductUITabItemDAO.CompentClass + " in", values, "compentClass");
        return this;
      }
    }

    public Criteria andCompentClassNotIn(List<String> values) {
      if (values.size() == 1) {
        return andCompentClassNotEqualTo(values.get(0));
      } else {
        addCriterion(IProductUITabItemDAO.CompentClass + " not in", values, "compentClass");
        return this;
      }
    }

    public Criteria andCompentClassIn(String[] values) {

      if (values.length == 1) {
        return andCompentClassEqualTo(values[0]);
      } else {
        addCriterion(
            IProductUITabItemDAO.CompentClass + " in", Arrays.asList(values), "compentClass");
        return this;
      }
    }

    public Criteria andCompentClassNotIn(String[] values) {
      if (values.length == 1) {
        return andCompentClassNotEqualTo(values[0]);
      } else {
        addCriterion(
            IProductUITabItemDAO.CompentClass + " not in", Arrays.asList(values), "compentClass");
        return this;
      }
    }

    public Criteria andCompentClassIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.CompentClass + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andCompentClassNotIn(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.CompentClass + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andCompentClassBetween(String value1, String value2) {
      addCriterion(IProductUITabItemDAO.CompentClass + " between", value1, value2, "compentClass");
      return this;
    }

    public Criteria andCompentClassNotBetween(String value1, String value2) {
      addCriterion(
          IProductUITabItemDAO.CompentClass + " not between", value1, value2, "compentClass");
      return this;
    }

    public Criteria andSortIndexIsNull() {
      addCriterion(IProductUITabItemDAO.SortIndex + " is null");
      return this;
    }

    public Criteria andSortIndexIsNotNull() {
      addCriterion(IProductUITabItemDAO.SortIndex + " is not null");
      return this;
    }

    public Criteria andSortIndexIsNotEmpty() {
      addCriterion(
          IProductUITabItemDAO.SortIndex
              + " is not null AND "
              + IProductUITabItemDAO.SortIndex
              + " <> ''");
      return this;
    }

    public Criteria andSortIndexIsEmpty() {
      addCriterion(
          "("
              + IProductUITabItemDAO.SortIndex
              + " is null OR "
              + IProductUITabItemDAO.SortIndex
              + " = '')");
      return this;
    }

    public Criteria andSortIndexEqualTo(int value) {
      return andSortIndexEqualTo(Integer.valueOf(value));
    }

    public Criteria andSortIndexEqualTo(java.lang.Integer value) {

      addCriterion(IProductUITabItemDAO.SortIndex + " = ", value, "sortIndex");
      return this;
    }

    public Criteria andSortIndexEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.SortIndex);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andSortIndexEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.SortIndex + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andSortIndexNotEqualTo(int value) {
      return andSortIndexNotEqualTo(Integer.valueOf(value));
    }

    public Criteria andSortIndexNotEqualTo(java.lang.Integer value) {

      addCriterion(IProductUITabItemDAO.SortIndex + " <>", value, "sortIndex");
      return this;
    }

    public Criteria andSortIndexNotEqualToOrIsNull(int value) {
      return andSortIndexNotEqualToOrIsNull(Integer.valueOf(value));
    }

    public Criteria andSortIndexNotEqualToOrIsNull(java.lang.Integer value) {

      addCriterion(
          IProductUITabItemDAO.SortIndex + " is null OR " + IProductUITabItemDAO.SortIndex + " <>",
          value,
          "sortIndex");
      return this;
    }

    public Criteria andSortIndexNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.SortIndex);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andSortIndexNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.SortIndex + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andSortIndexGreaterThan(int value) {
      return andSortIndexGreaterThan(Integer.valueOf(value));
    }

    public Criteria andSortIndexGreaterThan(java.lang.Integer value) {

      addCriterion(IProductUITabItemDAO.SortIndex + " >", value, "sortIndex");
      return this;
    }

    public Criteria andSortIndexGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.SortIndex);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andSortIndexGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.SortIndex + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andSortIndexGreaterThanOrEqualTo(int value) {
      return andSortIndexGreaterThanOrEqualTo(Integer.valueOf(value));
    }

    public Criteria andSortIndexGreaterThanOrEqualTo(java.lang.Integer value) {

      addCriterion(IProductUITabItemDAO.SortIndex + " >=", value, "sortIndex");
      return this;
    }

    public Criteria andSortIndexGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.SortIndex);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andSortIndexGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.SortIndex + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andSortIndexLessThan(int value) {
      return andSortIndexLessThan(Integer.valueOf(value));
    }

    public Criteria andSortIndexLessThan(java.lang.Integer value) {

      addCriterion(IProductUITabItemDAO.SortIndex + " <", value, "sortIndex");
      return this;
    }

    public Criteria andSortIndexLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.SortIndex);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andSortIndexLessThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.SortIndex + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andSortIndexLessThanOrEqualTo(int value) {
      return andSortIndexLessThanOrEqualTo(Integer.valueOf(value));
    }

    public Criteria andSortIndexLessThanOrEqualTo(java.lang.Integer value) {

      addCriterion(IProductUITabItemDAO.SortIndex + " <=", value, "sortIndex");
      return this;
    }

    public Criteria andSortIndexLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.SortIndex);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andSortIndexLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.SortIndex + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andSortIndexIn(int[] values) {
      if (values.length == 1) {
        return andSortIndexEqualTo((java.lang.Integer) values[0]);
      } else {
        addCriterion(IProductUITabItemDAO.SortIndex + " in", values, "sortIndex");
        return this;
      }
    }

    public Criteria andSortIndexNotIn(int[] values) {
      if (values.length == 1) {
        return andSortIndexNotEqualTo((java.lang.Integer) values[0]);
      } else {
        addCriterion(IProductUITabItemDAO.SortIndex + " not in", values, "sortIndex");
        return this;
      }
    }

    public Criteria andSortIndexIn(List<java.lang.Integer> values) {

      if (values.size() == 1) {
        return andSortIndexEqualTo(values.get(0));
      } else {
        addCriterion(IProductUITabItemDAO.SortIndex + " in", values, "sortIndex");
        return this;
      }
    }

    public Criteria andSortIndexNotIn(List<java.lang.Integer> values) {
      if (values.size() == 1) {
        return andSortIndexNotEqualTo(values.get(0));
      } else {
        addCriterion(IProductUITabItemDAO.SortIndex + " not in", values, "sortIndex");
        return this;
      }
    }

    public Criteria andSortIndexIn(java.lang.Integer[] values) {

      if (values.length == 1) {
        return andSortIndexEqualTo(values[0]);
      } else {
        addCriterion(IProductUITabItemDAO.SortIndex + " in", Arrays.asList(values), "sortIndex");
        return this;
      }
    }

    public Criteria andSortIndexNotIn(java.lang.Integer[] values) {
      if (values.length == 1) {
        return andSortIndexNotEqualTo(values[0]);
      } else {
        addCriterion(
            IProductUITabItemDAO.SortIndex + " not in", Arrays.asList(values), "sortIndex");
        return this;
      }
    }

    public Criteria andSortIndexIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.SortIndex + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andSortIndexNotIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.SortIndex + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andSortIndexBetween(int value1, int value2) {
      addCriterion(IProductUITabItemDAO.SortIndex + " between", value1, value2, "sortIndex");
      return this;
    }

    public Criteria andSortIndexBetween(java.lang.Integer value1, java.lang.Integer value2) {
      addCriterion(IProductUITabItemDAO.SortIndex + " between", value1, value2, "sortIndex");
      return this;
    }

    public Criteria andSortIndexNotBetween(int value1, int value2) {
      addCriterion(IProductUITabItemDAO.SortIndex + " not between", value1, value2, "sortIndex");
      return this;
    }

    public Criteria andSortIndexNotBetween(java.lang.Integer value1, java.lang.Integer value2) {
      addCriterion(IProductUITabItemDAO.SortIndex + " not between", value1, value2, "sortIndex");
      return this;
    }

    public Criteria andLastModifyUserIsNull() {
      addCriterion(IProductUITabItemDAO.LastModifyUser + " is null");
      return this;
    }

    public Criteria andLastModifyUserIsNotNull() {
      addCriterion(IProductUITabItemDAO.LastModifyUser + " is not null");
      return this;
    }

    public Criteria andLastModifyUserIsNotEmpty() {
      addCriterion(
          IProductUITabItemDAO.LastModifyUser
              + " is not null AND "
              + IProductUITabItemDAO.LastModifyUser
              + " <> ''");
      return this;
    }

    public Criteria andLastModifyUserIsEmpty() {
      addCriterion(
          "("
              + IProductUITabItemDAO.LastModifyUser
              + " is null OR "
              + IProductUITabItemDAO.LastModifyUser
              + " = '')");
      return this;
    }

    public Criteria andLastModifyUserEqualTo(String value) {

      addCriterion(IProductUITabItemDAO.LastModifyUser + " = ", value, "lastModifyUser");
      return this;
    }

    public Criteria andLastModifyUserEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.LastModifyUser);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andLastModifyUserEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.LastModifyUser + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastModifyUserNotEqualTo(String value) {

      addCriterion(IProductUITabItemDAO.LastModifyUser + " <>", value, "lastModifyUser");
      return this;
    }

    public Criteria andLastModifyUserNotEqualToOrIsNull(String value) {

      addCriterion(
          IProductUITabItemDAO.LastModifyUser
              + " is null OR "
              + IProductUITabItemDAO.LastModifyUser
              + " <>",
          value,
          "lastModifyUser");
      return this;
    }

    public Criteria andLastModifyUserNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.LastModifyUser);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andLastModifyUserNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.LastModifyUser + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastModifyUserGreaterThan(String value) {

      addCriterion(IProductUITabItemDAO.LastModifyUser + " >", value, "lastModifyUser");
      return this;
    }

    public Criteria andLastModifyUserGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.LastModifyUser);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andLastModifyUserGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.LastModifyUser + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastModifyUserGreaterThanOrEqualTo(String value) {

      addCriterion(IProductUITabItemDAO.LastModifyUser + " >=", value, "lastModifyUser");
      return this;
    }

    public Criteria andLastModifyUserGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.LastModifyUser);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andLastModifyUserGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.LastModifyUser + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastModifyUserLessThan(String value) {

      addCriterion(IProductUITabItemDAO.LastModifyUser + " <", value, "lastModifyUser");
      return this;
    }

    public Criteria andLastModifyUserLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.LastModifyUser);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andLastModifyUserLessThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.LastModifyUser + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastModifyUserLessThanOrEqualTo(String value) {

      addCriterion(IProductUITabItemDAO.LastModifyUser + " <=", value, "lastModifyUser");
      return this;
    }

    public Criteria andLastModifyUserLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.LastModifyUser);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andLastModifyUserLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.LastModifyUser + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastModifyUserLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(
          IProductUITabItemDAO.LastModifyUser + " like", buffer.toString(), "lastModifyUser");
      return this;
    }

    public Criteria andLastModifyUserNotLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(
          IProductUITabItemDAO.LastModifyUser + " not like", buffer.toString(), "lastModifyUser");
      return this;
    }

    public Criteria andLastModifyUserIn(List<String> values) {

      if (values.size() == 1) {
        return andLastModifyUserEqualTo(values.get(0));
      } else {
        addCriterion(IProductUITabItemDAO.LastModifyUser + " in", values, "lastModifyUser");
        return this;
      }
    }

    public Criteria andLastModifyUserNotIn(List<String> values) {
      if (values.size() == 1) {
        return andLastModifyUserNotEqualTo(values.get(0));
      } else {
        addCriterion(IProductUITabItemDAO.LastModifyUser + " not in", values, "lastModifyUser");
        return this;
      }
    }

    public Criteria andLastModifyUserIn(String[] values) {

      if (values.length == 1) {
        return andLastModifyUserEqualTo(values[0]);
      } else {
        addCriterion(
            IProductUITabItemDAO.LastModifyUser + " in", Arrays.asList(values), "lastModifyUser");
        return this;
      }
    }

    public Criteria andLastModifyUserNotIn(String[] values) {
      if (values.length == 1) {
        return andLastModifyUserNotEqualTo(values[0]);
      } else {
        addCriterion(
            IProductUITabItemDAO.LastModifyUser + " not in",
            Arrays.asList(values),
            "lastModifyUser");
        return this;
      }
    }

    public Criteria andLastModifyUserIn(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.LastModifyUser + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastModifyUserNotIn(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.LastModifyUser + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastModifyUserBetween(String value1, String value2) {
      addCriterion(
          IProductUITabItemDAO.LastModifyUser + " between", value1, value2, "lastModifyUser");
      return this;
    }

    public Criteria andLastModifyUserNotBetween(String value1, String value2) {
      addCriterion(
          IProductUITabItemDAO.LastModifyUser + " not between", value1, value2, "lastModifyUser");
      return this;
    }

    public Criteria andLastModifyTimeIsNull() {
      addCriterion(IProductUITabItemDAO.LastModifyTime + " is null");
      return this;
    }

    public Criteria andLastModifyTimeIsNotNull() {
      addCriterion(IProductUITabItemDAO.LastModifyTime + " is not null");
      return this;
    }

    public Criteria andLastModifyTimeIsNotEmpty() {
      addCriterion(
          IProductUITabItemDAO.LastModifyTime
              + " is not null AND "
              + IProductUITabItemDAO.LastModifyTime
              + " <> ''");
      return this;
    }

    public Criteria andLastModifyTimeIsEmpty() {
      addCriterion(
          "("
              + IProductUITabItemDAO.LastModifyTime
              + " is null OR "
              + IProductUITabItemDAO.LastModifyTime
              + " = '')");
      return this;
    }

    public Criteria andLastModifyTimeEqualTo(java.util.Date value) {

      addCriterionForJDBCDate(IProductUITabItemDAO.LastModifyTime + " = ", value, "lastModifyTime");
      return this;
    }

    public Criteria andLastModifyTimeEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.LastModifyTime);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andLastModifyTimeEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.LastModifyTime + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastModifyTimeNotEqualTo(java.util.Date value) {

      addCriterionForJDBCDate(IProductUITabItemDAO.LastModifyTime + " <>", value, "lastModifyTime");
      return this;
    }

    public Criteria andLastModifyTimeNotEqualToOrIsNull(java.util.Date value) {

      addCriterionForJDBCDate(
          IProductUITabItemDAO.LastModifyTime
              + " is null OR "
              + IProductUITabItemDAO.LastModifyTime
              + " <>",
          value,
          "lastModifyTime");
      return this;
    }

    public Criteria andLastModifyTimeNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.LastModifyTime);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andLastModifyTimeNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.LastModifyTime + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastModifyTimeGreaterThan(java.util.Date value) {

      addCriterionForJDBCDate(IProductUITabItemDAO.LastModifyTime + " >", value, "lastModifyTime");
      return this;
    }

    public Criteria andLastModifyTimeGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.LastModifyTime);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andLastModifyTimeGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.LastModifyTime + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastModifyTimeGreaterThanOrEqualTo(java.util.Date value) {

      addCriterionForJDBCDate(IProductUITabItemDAO.LastModifyTime + " >=", value, "lastModifyTime");
      return this;
    }

    public Criteria andLastModifyTimeGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.LastModifyTime);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andLastModifyTimeGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.LastModifyTime + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastModifyTimeLessThan(java.util.Date value) {

      addCriterionForJDBCDate(IProductUITabItemDAO.LastModifyTime + " <", value, "lastModifyTime");
      return this;
    }

    public Criteria andLastModifyTimeLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.LastModifyTime);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andLastModifyTimeLessThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.LastModifyTime + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastModifyTimeLessThanOrEqualTo(java.util.Date value) {

      addCriterionForJDBCDate(IProductUITabItemDAO.LastModifyTime + " <=", value, "lastModifyTime");
      return this;
    }

    public Criteria andLastModifyTimeLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.LastModifyTime);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andLastModifyTimeLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.LastModifyTime + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastModifyTimeIn(List<java.util.Date> values) {

      if (values.size() == 1) {
        return andLastModifyTimeEqualTo(values.get(0));
      } else {
        addCriterionForJDBCDate(
            IProductUITabItemDAO.LastModifyTime + " in", values, "lastModifyTime");
        return this;
      }
    }

    public Criteria andLastModifyTimeNotIn(List<java.util.Date> values) {
      if (values.size() == 1) {
        return andLastModifyTimeNotEqualTo(values.get(0));
      } else {
        addCriterionForJDBCDate(
            IProductUITabItemDAO.LastModifyTime + " not in", values, "lastModifyTime");
        return this;
      }
    }

    public Criteria andLastModifyTimeIn(java.util.Date[] values) {

      if (values.length == 1) {
        return andLastModifyTimeEqualTo(values[0]);
      } else {
        addCriterionForJDBCDate(
            IProductUITabItemDAO.LastModifyTime + " in", Arrays.asList(values), "lastModifyTime");
        return this;
      }
    }

    public Criteria andLastModifyTimeNotIn(java.util.Date[] values) {
      if (values.length == 1) {
        return andLastModifyTimeNotEqualTo(values[0]);
      } else {
        addCriterionForJDBCDate(
            IProductUITabItemDAO.LastModifyTime + " not in",
            Arrays.asList(values),
            "lastModifyTime");
        return this;
      }
    }

    public Criteria andLastModifyTimeIn(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.LastModifyTime + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastModifyTimeNotIn(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.LastModifyTime + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastModifyTimeBetween(java.util.Date value1, java.util.Date value2) {
      addCriterionForJDBCDate(
          IProductUITabItemDAO.LastModifyTime + " between", value1, value2, "lastModifyTime");
      return this;
    }

    public Criteria andLastModifyTimeNotBetween(java.util.Date value1, java.util.Date value2) {
      addCriterionForJDBCDate(
          IProductUITabItemDAO.LastModifyTime + " not between", value1, value2, "lastModifyTime");
      return this;
    }

    public Criteria andStatusIsNull() {
      addCriterion(IProductUITabItemDAO.Status + " is null");
      return this;
    }

    public Criteria andStatusIsNotNull() {
      addCriterion(IProductUITabItemDAO.Status + " is not null");
      return this;
    }

    public Criteria andStatusIsNotEmpty() {
      addCriterion(
          IProductUITabItemDAO.Status
              + " is not null AND "
              + IProductUITabItemDAO.Status
              + " <> ''");
      return this;
    }

    public Criteria andStatusIsEmpty() {
      addCriterion(
          "("
              + IProductUITabItemDAO.Status
              + " is null OR "
              + IProductUITabItemDAO.Status
              + " = '')");
      return this;
    }

    public Criteria andStatusEqualTo(String value) {

      addCriterion(IProductUITabItemDAO.Status + " = ", value, "status");
      return this;
    }

    public Criteria andStatusEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.Status);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andStatusEqualTo(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Status + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andStatusNotEqualTo(String value) {

      addCriterion(IProductUITabItemDAO.Status + " <>", value, "status");
      return this;
    }

    public Criteria andStatusNotEqualToOrIsNull(String value) {

      addCriterion(
          IProductUITabItemDAO.Status + " is null OR " + IProductUITabItemDAO.Status + " <>",
          value,
          "status");
      return this;
    }

    public Criteria andStatusNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.Status);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andStatusNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Status + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andStatusGreaterThan(String value) {

      addCriterion(IProductUITabItemDAO.Status + " >", value, "status");
      return this;
    }

    public Criteria andStatusGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.Status);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andStatusGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Status + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andStatusGreaterThanOrEqualTo(String value) {

      addCriterion(IProductUITabItemDAO.Status + " >=", value, "status");
      return this;
    }

    public Criteria andStatusGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.Status);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andStatusGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Status + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andStatusLessThan(String value) {

      addCriterion(IProductUITabItemDAO.Status + " <", value, "status");
      return this;
    }

    public Criteria andStatusLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.Status);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andStatusLessThan(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Status + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andStatusLessThanOrEqualTo(String value) {

      addCriterion(IProductUITabItemDAO.Status + " <=", value, "status");
      return this;
    }

    public Criteria andStatusLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.Status);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andStatusLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Status + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andStatusLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(IProductUITabItemDAO.Status + " like", buffer.toString(), "status");
      return this;
    }

    public Criteria andStatusNotLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(IProductUITabItemDAO.Status + " not like", buffer.toString(), "status");
      return this;
    }

    public Criteria andStatusIn(List<String> values) {

      if (values.size() == 1) {
        return andStatusEqualTo(values.get(0));
      } else {
        addCriterion(IProductUITabItemDAO.Status + " in", values, "status");
        return this;
      }
    }

    public Criteria andStatusNotIn(List<String> values) {
      if (values.size() == 1) {
        return andStatusNotEqualTo(values.get(0));
      } else {
        addCriterion(IProductUITabItemDAO.Status + " not in", values, "status");
        return this;
      }
    }

    public Criteria andStatusIn(String[] values) {

      if (values.length == 1) {
        return andStatusEqualTo(values[0]);
      } else {
        addCriterion(IProductUITabItemDAO.Status + " in", Arrays.asList(values), "status");
        return this;
      }
    }

    public Criteria andStatusNotIn(String[] values) {
      if (values.length == 1) {
        return andStatusNotEqualTo(values[0]);
      } else {
        addCriterion(IProductUITabItemDAO.Status + " not in", Arrays.asList(values), "status");
        return this;
      }
    }

    public Criteria andStatusIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Status + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andStatusNotIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Status + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andStatusBetween(String value1, String value2) {
      addCriterion(IProductUITabItemDAO.Status + " between", value1, value2, "status");
      return this;
    }

    public Criteria andStatusNotBetween(String value1, String value2) {
      addCriterion(IProductUITabItemDAO.Status + " not between", value1, value2, "status");
      return this;
    }

    public Criteria andRemarksIsNull() {
      addCriterion(IProductUITabItemDAO.Remarks + " is null");
      return this;
    }

    public Criteria andRemarksIsNotNull() {
      addCriterion(IProductUITabItemDAO.Remarks + " is not null");
      return this;
    }

    public Criteria andRemarksIsNotEmpty() {
      addCriterion(
          IProductUITabItemDAO.Remarks
              + " is not null AND "
              + IProductUITabItemDAO.Remarks
              + " <> ''");
      return this;
    }

    public Criteria andRemarksIsEmpty() {
      addCriterion(
          "("
              + IProductUITabItemDAO.Remarks
              + " is null OR "
              + IProductUITabItemDAO.Remarks
              + " = '')");
      return this;
    }

    public Criteria andRemarksEqualTo(String value) {

      addCriterion(IProductUITabItemDAO.Remarks + " = ", value, "remarks");
      return this;
    }

    public Criteria andRemarksEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.Remarks);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andRemarksEqualTo(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Remarks + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andRemarksNotEqualTo(String value) {

      addCriterion(IProductUITabItemDAO.Remarks + " <>", value, "remarks");
      return this;
    }

    public Criteria andRemarksNotEqualToOrIsNull(String value) {

      addCriterion(
          IProductUITabItemDAO.Remarks + " is null OR " + IProductUITabItemDAO.Remarks + " <>",
          value,
          "remarks");
      return this;
    }

    public Criteria andRemarksNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.Remarks);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andRemarksNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Remarks + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andRemarksGreaterThan(String value) {

      addCriterion(IProductUITabItemDAO.Remarks + " >", value, "remarks");
      return this;
    }

    public Criteria andRemarksGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.Remarks);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andRemarksGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Remarks + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andRemarksGreaterThanOrEqualTo(String value) {

      addCriterion(IProductUITabItemDAO.Remarks + " >=", value, "remarks");
      return this;
    }

    public Criteria andRemarksGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.Remarks);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andRemarksGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Remarks + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andRemarksLessThan(String value) {

      addCriterion(IProductUITabItemDAO.Remarks + " <", value, "remarks");
      return this;
    }

    public Criteria andRemarksLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.Remarks);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andRemarksLessThan(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Remarks + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andRemarksLessThanOrEqualTo(String value) {

      addCriterion(IProductUITabItemDAO.Remarks + " <=", value, "remarks");
      return this;
    }

    public Criteria andRemarksLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.Remarks);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andRemarksLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Remarks + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andRemarksLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(IProductUITabItemDAO.Remarks + " like", buffer.toString(), "remarks");
      return this;
    }

    public Criteria andRemarksNotLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(IProductUITabItemDAO.Remarks + " not like", buffer.toString(), "remarks");
      return this;
    }

    public Criteria andRemarksIn(List<String> values) {

      if (values.size() == 1) {
        return andRemarksEqualTo(values.get(0));
      } else {
        addCriterion(IProductUITabItemDAO.Remarks + " in", values, "remarks");
        return this;
      }
    }

    public Criteria andRemarksNotIn(List<String> values) {
      if (values.size() == 1) {
        return andRemarksNotEqualTo(values.get(0));
      } else {
        addCriterion(IProductUITabItemDAO.Remarks + " not in", values, "remarks");
        return this;
      }
    }

    public Criteria andRemarksIn(String[] values) {

      if (values.length == 1) {
        return andRemarksEqualTo(values[0]);
      } else {
        addCriterion(IProductUITabItemDAO.Remarks + " in", Arrays.asList(values), "remarks");
        return this;
      }
    }

    public Criteria andRemarksNotIn(String[] values) {
      if (values.length == 1) {
        return andRemarksNotEqualTo(values[0]);
      } else {
        addCriterion(IProductUITabItemDAO.Remarks + " not in", Arrays.asList(values), "remarks");
        return this;
      }
    }

    public Criteria andRemarksIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Remarks + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andRemarksNotIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.Remarks + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andRemarksBetween(String value1, String value2) {
      addCriterion(IProductUITabItemDAO.Remarks + " between", value1, value2, "remarks");
      return this;
    }

    public Criteria andRemarksNotBetween(String value1, String value2) {
      addCriterion(IProductUITabItemDAO.Remarks + " not between", value1, value2, "remarks");
      return this;
    }

    public Criteria andFormCodeIsNull() {
      addCriterion(IProductUITabItemDAO.FormCode + " is null");
      return this;
    }

    public Criteria andFormCodeIsNotNull() {
      addCriterion(IProductUITabItemDAO.FormCode + " is not null");
      return this;
    }

    public Criteria andFormCodeIsNotEmpty() {
      addCriterion(
          IProductUITabItemDAO.FormCode
              + " is not null AND "
              + IProductUITabItemDAO.FormCode
              + " <> ''");
      return this;
    }

    public Criteria andFormCodeIsEmpty() {
      addCriterion(
          "("
              + IProductUITabItemDAO.FormCode
              + " is null OR "
              + IProductUITabItemDAO.FormCode
              + " = '')");
      return this;
    }

    public Criteria andFormCodeEqualTo(String value) {

      addCriterion(IProductUITabItemDAO.FormCode + " = ", value, "formCode");
      return this;
    }

    public Criteria andFormCodeEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.FormCode);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andFormCodeEqualTo(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.FormCode + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andFormCodeNotEqualTo(String value) {

      addCriterion(IProductUITabItemDAO.FormCode + " <>", value, "formCode");
      return this;
    }

    public Criteria andFormCodeNotEqualToOrIsNull(String value) {

      addCriterion(
          IProductUITabItemDAO.FormCode + " is null OR " + IProductUITabItemDAO.FormCode + " <>",
          value,
          "formCode");
      return this;
    }

    public Criteria andFormCodeNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.FormCode);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andFormCodeNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.FormCode + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andFormCodeGreaterThan(String value) {

      addCriterion(IProductUITabItemDAO.FormCode + " >", value, "formCode");
      return this;
    }

    public Criteria andFormCodeGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.FormCode);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andFormCodeGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.FormCode + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andFormCodeGreaterThanOrEqualTo(String value) {

      addCriterion(IProductUITabItemDAO.FormCode + " >=", value, "formCode");
      return this;
    }

    public Criteria andFormCodeGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.FormCode);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andFormCodeGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.FormCode + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andFormCodeLessThan(String value) {

      addCriterion(IProductUITabItemDAO.FormCode + " <", value, "formCode");
      return this;
    }

    public Criteria andFormCodeLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.FormCode);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andFormCodeLessThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.FormCode + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andFormCodeLessThanOrEqualTo(String value) {

      addCriterion(IProductUITabItemDAO.FormCode + " <=", value, "formCode");
      return this;
    }

    public Criteria andFormCodeLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITabItemDAO.FormCode);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andFormCodeLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.FormCode + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andFormCodeLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(IProductUITabItemDAO.FormCode + " like", buffer.toString(), "formCode");
      return this;
    }

    public Criteria andFormCodeNotLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(IProductUITabItemDAO.FormCode + " not like", buffer.toString(), "formCode");
      return this;
    }

    public Criteria andFormCodeIn(List<String> values) {

      if (values.size() == 1) {
        return andFormCodeEqualTo(values.get(0));
      } else {
        addCriterion(IProductUITabItemDAO.FormCode + " in", values, "formCode");
        return this;
      }
    }

    public Criteria andFormCodeNotIn(List<String> values) {
      if (values.size() == 1) {
        return andFormCodeNotEqualTo(values.get(0));
      } else {
        addCriterion(IProductUITabItemDAO.FormCode + " not in", values, "formCode");
        return this;
      }
    }

    public Criteria andFormCodeIn(String[] values) {

      if (values.length == 1) {
        return andFormCodeEqualTo(values[0]);
      } else {
        addCriterion(IProductUITabItemDAO.FormCode + " in", Arrays.asList(values), "formCode");
        return this;
      }
    }

    public Criteria andFormCodeNotIn(String[] values) {
      if (values.length == 1) {
        return andFormCodeNotEqualTo(values[0]);
      } else {
        addCriterion(IProductUITabItemDAO.FormCode + " not in", Arrays.asList(values), "formCode");
        return this;
      }
    }

    public Criteria andFormCodeIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.FormCode + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andFormCodeNotIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITabItemDAO.FormCode + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andFormCodeBetween(String value1, String value2) {
      addCriterion(IProductUITabItemDAO.FormCode + " between", value1, value2, "formCode");
      return this;
    }

    public Criteria andFormCodeNotBetween(String value1, String value2) {
      addCriterion(IProductUITabItemDAO.FormCode + " not between", value1, value2, "formCode");
      return this;
    }
  }
}
